/**
 * EasyUI工具类
 **/
var ZBXTools = {};
/**
 *显示进度条 
 *@param msg 进度条需要提示的信息
 **/
ZBXTools.showProcess=function(msg){
	$.messager.progress({"msg":msg,text:''});
}

/**
 *关闭进度条
 **/
ZBXTools.hideProcess = function(){
	$.messager.progress('close');
}

/**
 *启用linkbutton按钮 
 * @param selector jquery选择器
 **/
ZBXTools.enableButton=function(selector){
	$(selector).linkbutton('enable');
}

/**
 *禁用linkbutton按钮 
 * @param selector jquery选择器
 **/
ZBXTools.disableButton=function(selector){
	$(selector).linkbutton('disable');
}
 /**
  * 设置单选按钮选中的值
  * @param elemid 对象id
  * @param selVl 值
  */
ZBXTools.initRadio=function(elemname,selVl){
	var myobj=document.getElementsByName(elemname);
	if(myobj==null)return;
	for ( var i = 0; i < myobj.length; i++) {
		if (myobj[i].value == selVl) {
			myobj[i].checked = "true";
		}
	}
 }
 /**
  * 设置下拉框选中的值
  * @param elemid 对象id
  * @param selVl 值
  */
 ZBXTools.initSelect=function(elemid,selVl){
	var myobj=document.getElementById(elemid);
	if(myobj==null)return;
	for ( var i = 0; i < myobj.options.length; i++) {
		if (myobj.options[i].value == selVl) {
			myobj.selectedIndex = i;
		}
	}
 }
/**
 * 获取下拉框选中的text
 * @param id 对象id
 * @return 选中的text
 */
 ZBXTools.getSelectTextById=function(id){
 	if(ZBXTools.getSelectValueById(id)!=''){
 		return $("#"+id).find("option:selected").text();
 	}
	return '';
 }
 /**
 * 获取下拉框选中的value
 * @param id 对象id
 * @return 选中的value
 */
 ZBXTools.getSelectValueById=function(id){
	return $("#"+id).find("option:selected").val();
 }
 /**
  * //消息提示
  * @param 头部面板上显示的标题文字。
  * @param 显示的消息文字。
  * @param 定义消息窗口的高度。
  * @param 定义消息窗口的宽度。
  * @param  如果定义为 0，除非用户关闭，消息窗口将不会关闭。如果定义为非 0 值，消息窗口将在超时后自动关闭。
  * @param 定义消息窗口如何显示。可用的值是： null、slide、fade、show。
  */
ZBXTools.showMsg=function(titleStr,msgStr,heightStr,widthStr,timeoutStr,showtypeStr){
	/**
	 * showType： 定义消息窗口如何显示。可用的值是： null、slide、fade、show。默认是 slide。
	 * showSpeed： 定义消息窗口完成显示所需的以毫秒为单位的时间。默认是 600。
	 * width： 定义消息窗口的宽度。默认是250。
	 * height： 定义消息窗口的高度。默认是100。
	 * msg： 显示的消息文字。
	 * title： 头部面板上显示的标题文字。
	 * timeout： 如果定义为 0，除非用户关闭，消息窗口将不会关闭。如果定义为非 0 值，消息窗口将在超时后自动关闭。
	 */
	$.messager.show({
		title:titleStr,
		showSpeed:1500,
		msg:msgStr,
		width:widthStr,
		height:heightStr,
		timeout:timeoutStr,
		showType:showtypeStr
	});
}
//uc/service/doService :methodCode;sysPass;
//ajaxtools

//查询用户中心用户列表，无参则查询全部
function searchUcUser(listName){
	    deleteAllRow(listName+"_table");
	    var this_url = uct_server+'/uct/service/doService/?sysPass=dwusoft2016&MethodCode=userList&userAll=ee';
		var currentPage = $('#'+listName+"_form").find("input[name='pageIndex']").val();
	    //alert(this_url);
	    $.ajax({
			url: this_url,
			type: 'GET',
			data:$("#"+listName+"_form").serialize(),
			dataType: "jsonp", 
			jsonp: "callback",
			success:function(data){
			   if("true"==data.result){
				   //组装数据
				   var total = data.entity.count;
				   var rows = data.entity.pageObjects;
				   var myData = new Object();
				   myData.total = total;
				   myData.rows = rows;
				   deleteAllRow(listName+"_table");
				   var htmlData = baidu.template(listName+'_html',eval(myData));  
			   	   if(eval(myData).total>0){
					   $("#"+listName+"_table").append(htmlData);
			   	   }
			   	   if("#"+listName+"_page"){
					   pageWrite(myData.total,currentPage,"uctService",listName);
				   }
			   }else{
				    alert(data.message);
			   }
		    }
		});
}

//查询用户中心机构列表，必须有条件参数，如果传入orgAll=orgAll则查询全部机构（其它条件失效，分页除外orgIds除外）
function searchUcOrg(listName){

	    var this_url = uct_server+'/uct/service/doService/?sysPass=dwusoft2016&MethodCode=orgList';
		var currentPage = $('#'+listName+"_form").find("input[name='pageIndex']").val();

		//查询orgList时，如果没有查询条件，必须要有默认查询全部的标识orgAll=orgAll
	    var orgCname = $('#'+listName+"_form").find("input[name='orgCname']").val();
	    if(orgCname == "" || orgCname == null||orgCname == undefined){
	    	this_url +="&orgAll=orgAll";
	    }
		$.ajax({
			url: this_url,
			type: 'GET',
			data:$("#"+listName+"_form").serialize(),
			dataType: "jsonp", 
			jsonp: "callback",
			success:function(data){
			   if("true"==data.result){
				   //组装数据
				   var total = data.entity.count;
				   var rows = data.entity.pageObjects;
				   var myData = new Object();
				   myData.total = total;
				   myData.rows = rows;
				   
				   deleteAllRow(listName+"_table");
				   var htmlData = baidu.template(listName+'_html',eval(myData));  
			   	   if(eval(myData).total>0){
					   $("#"+listName+"_table").append(htmlData);
			   	   }
			   	   if("#"+listName+"_page"){
					   pageWrite(myData.total,currentPage,"uctService",listName);
				   }
			   }else{
				    alert(data.message);
			   }
		    }
		});
}

//查询用户中心部门列表，必须有参数否则查询无效
function searchUcDept(listName){
	deleteAllRow(listName+"_table");
    var this_url = uct_server+'/uct/service/doService/?sysPass=dwusoft2016&MethodCode=deptList';
	var currentPage = $('#'+listName+"_form").find("input[name='pageIndex']").val();
    $.ajax({
		url: this_url,
		type: 'GET',
		data:$("#"+listName+"_form").serialize(),
		dataType: "jsonp", 
		jsonp: "callback",
		success:function(data){
		  
		   if("true"==data.result){
			   //组装数据
			   var total = data.entity.count;
			   var rows = data.entity.pageObjects;
			   var myData = new Object();
			   myData.total = total;
			   myData.rows = rows;
			   
			   var htmlData = baidu.template(listName+'_html',eval(myData));  
		   	   if(eval(myData).total>0){
				   $("#"+listName+"_table").append(htmlData);
		   	   }
			   if("#"+listName+"_page"){
				   pageWrite(myData.total,currentPage,"uctService",listName);
			   }
		   }else{
			    alert(myData.message);
		   }
	    }
	});
}

//查询用户中心角色列表，如果未开启机构，则查询系统角色；如果开启机构授权，则必须有参数调节，否则查询不到数据
function searchUcRole(listName){
	deleteAllRow(listName+"_table");
    var this_url = uct_server+'/uct/service/doService/?sysPass=dwusoft2016&MethodCode=roleList';
	var currentPage = $('#'+listName+"_form").find("input[name='pageIndex']").val();
    $.ajax({
		url: this_url,
		type: 'GET',
		data:$("#"+listName+"_form").serialize(),
		dataType: "jsonp", 
		jsonp: "callback",
		success:function(data){
		  
		   if("true"==data.result){
			   //组装数据
			   var total = data.entity.count;
			   var rows = data.entity.pageObjects;
			   var myData = new Object();
			   myData.total = total;
			   myData.rows = rows;
			   
			   var htmlData = baidu.template(listName+'_html',eval(myData));  
		   	   if(eval(myData).total>0){
				   $("#"+listName+"_table").append(htmlData);
		   	   }
			   if("#"+listName+"_page"){
				   pageWrite(myData.total,currentPage,"uctService",listName);
			   }
		   }else{
			    alert(myData.message);
		   }
	    }
	});
}

//查询分页列表数据
function searchSubmit(objName,listName){
	var this_url = ctx+spaceDomain+objName+"/rf";
	var formName = listName+"_form";
	var tableName = listName+"_table";
	var pageName = listName+"_page";
	var currentPage = $('#'+formName).find("input[name='page']").val();
	//deleteAllRow(tableName);
	//alert(this_url);
	$.ajax({
		   type:'get',
		   url:this_url,
		   data:$("#"+formName).serialize(),
		   dataType:'json',
		   success: function(myData){
			   //alert(myData.total);
			   deleteAllRow(tableName);
			   var htmlData = baidu.template(listName+'_html',eval(myData));  
		   	   if(eval(myData).total>0){
				   $("#"+tableName).append(htmlData);
		   	   }
			   if("#"+pageName){
				   pageWrite(myData.total,currentPage,objName,listName);
			   } 
		  }
	});	
}


function addSubmit(objName,addForm){
	var this_url = ctx+spaceDomain+objName+"/rf";
	if(!$("#"+addForm).form('validate')){
	    return false;
	}
	$.ajax({
		   type:'post',
		   url:this_url,
		   data:$("#"+addForm).serialize(),
		   dataType:'json',
		   success: function(myData){
			   addCallBack(myData.flag,myData.msg,objName);
		   }
	});		
}

function editSubmit(objName,objId,editForm){
	var this_url = ctx+spaceDomain+objName+"/rf/"+objId;
	if(!$("#"+editForm).form('validate')){
	    return false;
	}
	$.ajax({
		   type:'put',
		   url:this_url,
		   data:$("#"+editForm).serialize(),
		   dataType:'json',
		   success: function(myData){
			   editCallBack(myData.flag,objName,editForm);
		  }
	});		
}

function delSubmit(objName,objId){
	var this_url = ctx+spaceDomain+objName+"/rf/"+objId;
	$.ajax({
		   type:'delete',
		   url:this_url,
		   dataType:'json',
		   success: function(myData){
			   delCallBack(myData.flag,objName,myData.msg);
		  }
	});		
}

//查询单个对象
function getObj(objName,objId){
	var this_url = ctx+spaceDomain+objName+"/rf/"+objId;
	//clear('XXX');
	//alert(this_url);
	$.ajax({
		   type:'get',
		   url:this_url,
		   dataType:'json',
		   success: function(myData){
			   //alert(myData.flag);
			   getCallBack(myData.flag,myData.item);
		  }
	});	
}

//反显表单数据
function loadData(obj,formName){
	var key,value,tagName,type,arr;
    for(x in obj){
    	//alert(x);
        key = x;
        value = obj[x];
        $("#"+formName).find("[name='"+key+"'],[name='"+key+"[]']").each(function(){
            tagName = $(this)[0].tagName;
            type = $(this).attr('type');
            if(tagName=='INPUT'){
                if(type=='radio'){
                    $(this).attr('checked',$(this).val()==value);
                }else if(type=='checkbox'){
                    arr = value.split(',');
                    for(var i =0;i<arr.length;i++){
                        if($(this).val()==arr[i]){
                            $(this).attr('checked',true);
                            break;
                        }
                    }
                }else{
                    $(this).val(value);
                }
            }else if(tagName=='SELECT' || tagName=='TEXTAREA'){
                $(this).val(value);
            }
             
        });
    }	
}

function pageWrite(total,cPage,objName,listName){
	if("uctService" == objName){
		var pageSize = $('#'+listName+"_form").find("input[name='pageSize']").val();//$('#rows').val();
	}else{
		var pageSize = $('#'+listName+"_form").find("input[name='rows']").val();//$('#rows').val();
	}
	//alert(pageSize+"-"+total);
	//总页数
	var m = total % pageSize;
	var pageCount = m == 0 ? total / pageSize : (total-m) / pageSize + 1;
	
	var perGroup = 10;//每组显示5个分页,可配置
	var mm = pageCount % perGroup;
	var pageGroups = mm == 0 ? pageCount / perGroup : (pageCount-mm) / perGroup + 1;//分几组
	//alert(pageGroups);
	var mmm = cPage % perGroup;
	var cPageGroup = mmm == 0 ? cPage / perGroup : (cPage-mmm) / perGroup + 1;//分几组
	//alert(cPageGroup);
	var startp = ( cPageGroup -1 ) * perGroup +1;
	var endp = startp + perGroup -1;
	if(endp > pageCount) endp=pageCount;
	//alert(startp + "--"+endp);
	var ptxt="总计"+total+"条数据";
	if(pageCount>1){
		ptxt += ",共"+pageCount+"页,每页"+pageSize+"条。";
		if(startp>1){
			ptxt += "<a onclick='toPage("+(startp -1)+",\""+objName+"\",\""+listName+"\")'><<</a> ";
		}
		for ( var int = startp; int <= endp; int++) {
			if(int == cPage){
				ptxt += "<font>"+int+"</font> ";
			}else{
				ptxt += "<a onclick='toPage("+int+",\""+objName+"\",\""+listName+"\")'>"+int+"</a> ";
			}
		}
		if(endp<pageCount){
			ptxt += "<a onclick='toPage("+(endp + 1)+",\""+objName+"\",\""+listName+"\")'>>></a> ";
		}		
	}

	$("#"+listName+"_page").html(ptxt);
}

function toPage(pn,objName,listName){
	if("uctService" == objName){
		$('#'+listName+"_form").find("input[name='pageIndex']").val(pn);
		searchUcUser(listName);
		$('#'+listName+"_form").find("input[name='pageIndex']").val(1);
	}else{
		$('#'+listName+"_form").find("input[name='page']").val(pn);
		searchSubmit(objName,listName);
		$('#'+listName+"_form").find("input[name='page']").val(1);
	}
	
}

//加载本业务系统下拉框数据[对象list列表，如需要，在onSelect等事件中可以得到对象的任意属性值]，eleId为下拉框id
//可指定要显示和赋值的字段
function objDataSelect(eleId,objName,objId,objText,callBack,params,initJSel) {
	var this_url = ctx+spaceDomain+objName+"/rf";
	if(params != null && params != "")this_url += "?"+params;
	//alert(this_url);
	
	$.ajax({
		   type:'get',
		   url:this_url,
		   dataType:'json',
		   success: function(myData){
			   $('#'+eleId).combobox({
					data : myData.rows,
					valueField : objId,
					editable : false,
					textField : objText,
					onLoadSuccess:function(){
						if(initJSel != null && initJSel != ""){
							var data =  $('#'+eleId).combobox("getData");
							oSelInitCallBack(data,eleId);
						}
					},
					onSelect:function(rec){
						if(callBack != null && callBack != ""){
							objSelectCallBack(rec,eleId,objName);
						}
					}
				});
		  }
	});	
}


//加载本业务系统下拉框数据[json数组[(id,text)]],id,text的值在后台方法中控制;eleId为下拉框id,eleText可选参数：存储text值的字段
function jsonDataSelect(eleId,objName,callBack,params,initJSel) {
	var this_url = ctx+spaceDomain+objName+"/select";
	if(params != null && params != "")this_url += "?"+params;
	//alert(this_url);
   $('#'+eleId).combobox({
		url : this_url,
		valueField : "id",
		editable : false,
		textField :"text",
		onLoadSuccess:function(){
			if(initJSel != null && initJSel != ""){
				var data =  $('#'+eleId).combobox("getData");
				jSelInitCallBack(data,eleId);
			}
		},
		onSelect:function(rec){
			if(callBack != null && callBack != ""){
				jsonSelectCallBack(rec,eleId,objName);
			}
		}
	});
}

function jsonDataSelectAjax(eleId,objName,params,callBack){
	var this_url = ctx+spaceDomain+objName+"/select";
	if(params != null && params != "")this_url += "?"+params;
	//alert(this_url);
	$.ajax({
		   type:'post',
		   url:this_url,
		   dataType:'json',
		   success: function(myData){
			   var obj=document.getElementById(eleId);
			   //alert(obj.tagName);
			   if(obj.tagName == 'SELECT'){
				   for(var i in myData){
					   //alert(i+"--"+myData[i].text);
					   obj.options.add(new Option(myData[i].text,myData[i].id));
				   }
			   }
			   
			   if(callBack != null && callBack != ""){
					jsonSelAjaxCallBack(eleId,objName,myData);
			   }
		  }
	});	
}


//无实体附件上传，选择文件执行方法
function addUploadFile(num){
	   var attaServerUrl =myAttaServer+"attachment/media/upload.action?isRemote=T";
	  $.zbxupload.upload({
	    attaDomain:myAttaDomain,
	    attaServerUrl:attaServerUrl,
	    fileNum:num,
	    tokenId:'',
	    fileTypes:'.jpg,.png'
	  });
}

function clearFormById(formid){
	//$('#'+formid).clear();
	$('#'+formid).find("input:text").each(function(){
		$(this).val('');
	});
	$('#'+formid).find("select").each(function(){
		$(this).val('');
	});
	$('#'+formid).find("textarea").each(function(){
		$(this).val('');
	});
}
function deleteAllRow(tableId){
	var tb = document.getElementById(tableId);
	if(tb){
	     var rowNum=tb.rows.length;
	     for (i=1;i<rowNum;i++){
	         tb.deleteRow(i);
	         rowNum=rowNum-1;
	         i=i-1;
	     }
     }
}

//加载编辑器
function loadKEditor(textareaId,w,h){
	    window.editor = KindEditor.create('#'+textareaId,{
        width:w,
	 	height:h,
        items:[
		        'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste',
		        'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
		        'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
		        'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
		        'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
		        'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',
		        'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',
		        'anchor', 'link', 'unlink', '|', 'about'
		 ]
     });   
}

function getNow(){
	return getNowFormatDate();
}

function getNowFormatDate() {
    var date = new Date();
    var seperator1 = "-";
    var seperator2 = ":";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    var hh =date.getHours();
    var mm = date.getMinutes();
    var ss = 00;//date.getSeconds();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate > 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    if (hh >= 0 && hh <= 9) {
        hh = "0" + hh;
    }
    if (mm >= 0 && mm <= 9) {
        mm = "0" + mm;
    }
    if (ss >= 0 && ss <= 9) {
        ss = "0" + ss;
    }
    
    
    var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
            + " " + hh + seperator2 + mm
            + seperator2 + ss;
    return currentdate;
}